xen.git
19 years agomerge with xen-unstable.hg
awilliam@xenbuild.aw [Fri, 23 Jun 2006 21:33:25 +0000 (15:33 -0600)]
merge with xen-unstable.hg

19 years ago[IA64] dom0vp machtophys fix argument check
awilliam@xenbuild.aw [Fri, 23 Jun 2006 21:26:01 +0000 (15:26 -0600)]
[IA64] dom0vp machtophys fix argument check

fix argument check of dom0vp machtophys hypercall. use valid_mfn()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] fix RSE issues rlated to handle_lazy_cover().
awilliam@xenbuild.aw [Fri, 23 Jun 2006 21:24:06 +0000 (15:24 -0600)]
[IA64] fix RSE issues rlated to handle_lazy_cover().

It must be after trying vTLB in ia64_do_page_fault().

This patch fixes the following scenario.

linux-2.6-xen-sparse/arch/ia64/xen/xenentry.S
Here psr.i and psr.ic is off
rse_clear_invalid:
...
(pRecurse) br.call.dptk.few b0=rse_clear_invalid
        ;;
        mov loc8=0
        mov loc9=0

1. Right before mov loc8=0, vcpu is switched to another cpu.
2. While the vcpu is waiting for cpu, the tlb entry which backs the rse
   stack is purged.
3. The vcpu gets cpu again, tlb miss fault occurs with isr.ir = 1.
4. xen ia64_do_page_fault() calls handle_lazy_cover() which sets
   cr.ifs = 0.
5. xen returns cpu execution to the guest.
6. mov loc8 = 0 is executed with cfm = 0.
   Illigal operation fault is raised
7. priv_handle_op() is called. but it fails to emulate because
   mov loc8 = 0 isn't privileged op.
8. ia64_handle_privop() calls panic_domain().

Signed-off-by: Xu, Anthony <anthony.xu@intel.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] memory exchange: use memory exchange
awilliam@xenbuild.aw [Fri, 23 Jun 2006 21:20:43 +0000 (15:20 -0600)]
[IA64] memory exchange: use memory exchange

rewrite __xen_create_contiguous_region() and __xen_destroy_contiguous_region()
with XENMEM_exchange hypercall similar to x86.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] memory exchange: support memory exchange
awilliam@xenbuild.aw [Fri, 23 Jun 2006 21:16:10 +0000 (15:16 -0600)]
[IA64] memory exchange: support memory exchange

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] memory exchange: update comment
awilliam@xenbuild.aw [Fri, 23 Jun 2006 21:13:54 +0000 (15:13 -0600)]
[IA64] memory exchange: update comment

update comment. s/steal_page_for_grant_transfer/steal_page/g

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] memory exchange: ia64 counter part of cs 10353 xen-unstable.hg
awilliam@xenbuild.aw [Fri, 23 Jun 2006 21:12:10 +0000 (15:12 -0600)]
[IA64] memory exchange: ia64 counter part of cs 10353 xen-unstable.hg

IA64 counter part of the change set
10353:bd1a0b2bb2d4596227951ad6d36cb4fcc2d00a8e of xen-unstable.hg
Only destroy a machine-contiguous memory region if it really is contiguous.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] enable xencons irq for pcdp described uarts
awilliam@xenbuild.aw [Fri, 23 Jun 2006 16:04:12 +0000 (10:04 -0600)]
[IA64] enable xencons irq for pcdp described uarts

This patch enables interrupts for xencons on UARTs described via the
HCDP/PCDP tables.  This gets a little messy because the old HCDP
doesn't provide interrupt polarity/trigger info.  If the UART is on a
PCI device we can assume it's low/level, otherwise we have to resort to
more creative methods.  Since this old table is being phased out in
favor of the new version that does provide all the interrupt info, we
should have a fixed number of boxes out there that we have to detect (or
leave in polling mode).  I've added a function to detect and setup the
HP models based on the model string found in the ACPI XSDT OEM table ID.
I also added a xencons_poll boot option in case detection goes wrong or
the table provides the wrong info, we can force it to a working state.
Removed all of the "About to call..." printks in xensetup while I was
there.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[IA64] Allow guest to set the address of shared_info.
awilliam@xenbuild.aw [Fri, 23 Jun 2006 15:46:39 +0000 (09:46 -0600)]
[IA64] Allow guest to set the address of shared_info.

Add a new hypercall: SET_SHARED_INFO_VA.
Cleanup of asm-xsi-offsets: do not define absolute address, use a new macro.
Cleanup of linux asm-offsets: use a macro for xen mapped regs.
xensetup.S: set the shared_info address (disabled if using compatibility).
privop.h: May redefined XSI_BASE (not yet enabled for compatibility).
Vocabulary coherence: use XMAPPEDREGS_ prefix.
Cleanup of xensystem.h

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[TOOLS] Fix set_bit/clear bit for x86/64 in xc_linux_save
kaf24@firebug.cl.cam.ac.uk [Thu, 22 Jun 2006 20:37:33 +0000 (21:37 +0100)]
[TOOLS] Fix set_bit/clear bit for x86/64 in xc_linux_save
From: John Byrne <john.l.byrne@hp.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XM-TEST] Remove second console attach in 03_memset_random_pos
kaf24@firebug.cl.cam.ac.uk [Thu, 22 Jun 2006 20:30:51 +0000 (21:30 +0100)]
[XM-TEST] Remove second console attach in 03_memset_random_pos
Signed-off-by: Jim Dykman <dykman@us.ibm.com>
19 years ago[VMX] Fix use of VMCLEAR a little: no need if not active on any CPU.
kaf24@firebug.cl.cam.ac.uk [Thu, 22 Jun 2006 14:25:18 +0000 (15:25 +0100)]
[VMX] Fix use of VMCLEAR a little: no need if not active on any CPU.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[TOOLS] Make sure to explicitly close the connection if we're using HTTP/1.0. This
kaf24@firebug.cl.cam.ac.uk [Thu, 22 Jun 2006 14:10:48 +0000 (15:10 +0100)]
[TOOLS] Make sure to explicitly close the connection if we're using HTTP/1.0.  This
shouldn't be needed but it appears to be necessary as the Python client
just does a wfile.read() instead of only reading the reported Content-Length.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
19 years ago[TOOLS] Treat '--' command-line split option correctly.
kaf24@firebug.cl.cam.ac.uk [Thu, 22 Jun 2006 14:09:48 +0000 (15:09 +0100)]
[TOOLS] Treat '--' command-line split option correctly.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
19 years ago[TOOLS] Fix pagetable-pinning loop in xc_linux_restore.
kaf24@firebug.cl.cam.ac.uk [Thu, 22 Jun 2006 13:12:01 +0000 (14:12 +0100)]
[TOOLS] Fix pagetable-pinning loop in xc_linux_restore.
Previously it would not pin last PFN in physmap even if it was
a pagetable page.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[IA64] per cpu vhpt stats
awilliam@xenbuild.aw [Wed, 21 Jun 2006 17:17:08 +0000 (11:17 -0600)]
[IA64] per cpu vhpt stats

dump_vhpt_stats: disp usage per cpu.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] optionally enable xen console with irq/input.
awilliam@xenbuild.aw [Wed, 21 Jun 2006 17:15:08 +0000 (11:15 -0600)]
[IA64] optionally enable xen console with irq/input.

Makes xen serial console working in input.
You need to add 'xencons' option to xen command line, and you need
to disable serial on linux (unfortunatly).
Remove unused functions in irq.c
Add a ia64_xen_vector bitmask of vectors used exclusively by Xen.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] Update xmexample.vti
awilliam@xenbuild.aw [Wed, 21 Jun 2006 16:40:20 +0000 (10:40 -0600)]
[IA64] Update xmexample.vti

This simple patch is just to update xmexample.vti
 1. Add "vcpus" for supporting SMP VTI.
 2. Add serial='pty' for using "xm console" of VTI.
 3. Add usb device supporting for VTI.
 4. Use cirrus logic accelerated VGA.

Signed-off-by: You Yongkang <yongkang.you@intel.com>
19 years ago[IA64] remove CONFIG_ARCH_XEN
awilliam@xenbuild.aw [Wed, 21 Jun 2006 16:30:15 +0000 (10:30 -0600)]
[IA64] remove CONFIG_ARCH_XEN

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
19 years ago[IA64] don't allow non-dom0 domains to set pte memory attributes
awilliam@xenbuild.aw [Wed, 21 Jun 2006 16:25:00 +0000 (10:25 -0600)]
[IA64] don't allow non-dom0 domains to set pte memory attributes

  domUs shouldn't be allowed to set arbitrary memory attributes.
This could allow accessing system memory with uncached attributes,
leading to address aliasing, unsupported transactions, or worse.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[IA64] create MDT entry to cover fw_mem area in dom_fw_init()
awilliam@xenbuild.aw [Wed, 21 Jun 2006 16:15:46 +0000 (10:15 -0600)]
[IA64] create MDT entry to cover fw_mem area in dom_fw_init()

 - create MDT entry for fw_mem area on dom0 & domU
 - leave a hole for this region in dom_fw_dom0_lowmem()
 - move inline macros definitions out of function
 - consolidate to single conventional memory adding routine for dom0/domU

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[XEN] localtime support for paravirtualized guests
kaf24@firebug.cl.cam.ac.uk [Wed, 21 Jun 2006 16:09:14 +0000 (17:09 +0100)]
[XEN] localtime support for paravirtualized guests

It is quite minimal
in its approach, satisfying the purposes of the paravirtualized
NetWare operating system as well as any others that expect the time
base to be provided in localtime.

Signed-off-by: Bruce Rogers <brogers@novell.com>
19 years ago[LINUX][TPM] Use min_t/min instead of the #define'd MIN.
kaf24@firebug.cl.cam.ac.uk [Wed, 21 Jun 2006 15:55:25 +0000 (16:55 +0100)]
[LINUX][TPM] Use min_t/min instead of the #define'd MIN.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
19 years ago[LINUX] Transparent virtualization fixes.
kaf24@firebug.cl.cam.ac.uk [Wed, 21 Jun 2006 15:54:09 +0000 (16:54 +0100)]
[LINUX] Transparent virtualization fixes.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] stub to support dump_execution_state() on ia64
kaf24@firebug.cl.cam.ac.uk [Wed, 21 Jun 2006 09:56:20 +0000 (10:56 +0100)]
[IA64] stub to support dump_execution_state() on ia64
Also implement on_selected_cpus() for ia64.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[IA64] build linux kernel without using asm-xsi-offsets.h
awilliam@lappy [Tue, 20 Jun 2006 23:02:22 +0000 (17:02 -0600)]
[IA64] build linux kernel without using asm-xsi-offsets.h

All the relevent information are already exported with arch-ia64.h
Use linux asm-offsets.h to write xsi offsets defines.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
[Removed xen-mkbuildtree-post/-pre]
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[IA64] check address clash with Xen for itc/ptc/itr/ptr
awilliam@lappy [Tue, 20 Jun 2006 22:29:59 +0000 (16:29 -0600)]
[IA64] check address clash with Xen for itc/ptc/itr/ptr

Panic domain if the address is within the Xen virtual space.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] purge stale tlb entry in ia64_do_page_fault()
awilliam@lappy [Tue, 20 Jun 2006 22:21:13 +0000 (16:21 -0600)]
[IA64] purge stale tlb entry in ia64_do_page_fault()

fix ia64_do_page_fault(). When it determines to again, it might remains stale
entry in tlb entry hoping next tlb imsert may purge it.
But if reflects faults, the stale entry remains. it must be purged.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] Fix for ptc.ga emulation
awilliam@lappy [Tue, 20 Jun 2006 22:05:17 +0000 (16:05 -0600)]
[IA64] Fix for ptc.ga emulation

If switch to idle domain after vhpt_purge in ptc_ga emulation,
shouldn't switch rr7 and pta. Only disable VHPT needed. If no,
Smp VTi will hang whole system due to fault.

Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
19 years ago[IA64] Create vpsr_pp in privregs instead of using tmp[8].
awilliam@xenbuild.aw [Tue, 20 Jun 2006 21:56:48 +0000 (15:56 -0600)]
[IA64] Create vpsr_pp in privregs instead of using tmp[8].

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[XEN] Xen always relinquishes VGA console to domain0 when domain0
kaf24@firebug.cl.cam.ac.uk [Tue, 20 Jun 2006 17:51:46 +0000 (18:51 +0100)]
[XEN] Xen always relinquishes VGA console to domain0 when domain0
starts to boot (previous behaviour looked for console=tty0 on
dom0's command line). To prevent this 'console=vga[keep]' must
be specified.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Fix to previous changeset: continue to do softirq while delaying.
kaf24@firebug.cl.cam.ac.uk [Tue, 20 Jun 2006 17:28:41 +0000 (18:28 +0100)]
[XEN] Fix to previous changeset: continue to do softirq while delaying.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Add a warning banner when 'sync_console' is used. Make it
kaf24@firebug.cl.cam.ac.uk [Tue, 20 Jun 2006 17:19:07 +0000 (18:19 +0100)]
[XEN] Add a warning banner when 'sync_console' is used. Make it
very obvious and mildly annoying.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[IA64] fix mfn_to_local_pfn() for dma context
awilliam@xenbuild.aw [Tue, 20 Jun 2006 16:40:14 +0000 (10:40 -0600)]
[IA64] fix mfn_to_local_pfn() for dma context

Thanks to Kevin for tracking down this problem.  This is a temporary
solution until we come up with something better for ia64.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[XEN] Fix PAE PDPT shadowing coherence.
kaf24@firebug.cl.cam.ac.uk [Tue, 20 Jun 2006 16:04:13 +0000 (17:04 +0100)]
[XEN] Fix PAE PDPT shadowing coherence.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoAdd new XENMEM_machphys_mapping to get info about location and
kfraser@dhcp93.uk.xensource.com [Tue, 20 Jun 2006 13:45:46 +0000 (14:45 +0100)]
Add new XENMEM_machphys_mapping to get info about location and
sizeof of the mach2phys table default mapping. Use this in Linux to
dynamically adapt the mfn_to_pfn() routine to undelrying hypervisor.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[LINUX] Another fix to i386 mfn_to_pfn().
kfraser@dhcp93.uk.xensource.com [Tue, 20 Jun 2006 12:45:23 +0000 (13:45 +0100)]
[LINUX] Another fix to i386 mfn_to_pfn().
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[LINUX] Fix i386 build -- define max_mapnr in mfn_to_pfn().
kfraser@dhcp93.uk.xensource.com [Tue, 20 Jun 2006 12:42:08 +0000 (13:42 +0100)]
[LINUX] Fix i386 build -- define max_mapnr in mfn_to_pfn().
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMove the SSHTransport class to its own file, so that we may disable SSH
emellor@leeni.uk.xensource.com [Tue, 20 Jun 2006 12:32:21 +0000 (13:32 +0100)]
Move the SSHTransport class to its own file, so that we may disable SSH
transport when running on Python <2.4.  SSHTransport uses the new subprocess
class, and so it doesn't work on older versions.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
19 years agoMerge
ack@localhost.localdomain [Tue, 20 Jun 2006 11:12:44 +0000 (12:12 +0100)]
Merge

19 years agoRun credit scheduler tests by default
ack@localhost.localdomain [Tue, 20 Jun 2006 11:11:28 +0000 (12:11 +0100)]
Run credit scheduler tests by default
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
19 years agoExport machine_to_phys start and end addresses to guests.
kfraser@dhcp93.uk.xensource.com [Tue, 20 Jun 2006 11:01:09 +0000 (12:01 +0100)]
Export machine_to_phys start and end addresses to guests.
Use this info in Linux to bounds-check accesses to the
m2p table.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMake the credit scheduler the default - a number of bugs have been fixed
shand@kneesaa.uk.xensource.com [Tue, 20 Jun 2006 10:04:58 +0000 (11:04 +0100)]
Make the credit scheduler the default - a number of bugs have been fixed
(thanks to all for testing!) and now seems ready for more widespread usage.

Signed-off-by: Steven Hand <steven@xensource.com>
19 years agoRemove some spurious BUG_ON()'s from the credit scheduler.
shand@kneesaa.uk.xensource.com [Tue, 20 Jun 2006 10:02:49 +0000 (11:02 +0100)]
Remove some spurious BUG_ON()'s from the credit scheduler.

Signed-off-by: Steven Hand <steven@xensource.com>
19 years agoUse an environmental variable (XM_SERVER) to determine XML-RPC URI.
anthony@rhesis.austin.ibm.com [Tue, 20 Jun 2006 09:25:22 +0000 (10:25 +0100)]
Use an environmental variable (XM_SERVER) to determine XML-RPC URI.

This allows users to invoke xm against a remote server.  This is much more
useful though for exercising XML-RPC transports with xm-test though since
xm-test will continue to (mostly) function if the URI is localhost.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
19 years agoThis patch adds client side support for XML-RPC over ssh. It differs from
root@rhesis.austin.ibm.com [Tue, 20 Jun 2006 09:25:21 +0000 (10:25 +0100)]
This patch adds client side support for XML-RPC over ssh.  It differs from
the previous submission in that it now uses lazy evaluation to connect
to the remote server and provides more user friendly error messages if ssh
is not available.

Signed-off-by: Anthony Liguori
19 years agoAdd an xm serve command.
anthony@rhesis.austin.ibm.com [Tue, 20 Jun 2006 09:25:20 +0000 (10:25 +0100)]
Add an xm serve command.

This command proxies the Xend XML-RPC over stdio.  This is similiar to
mercurial's hg serve --stdio command.

The most obvious use of this command is remote XML-RPC invocation over SSH.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
19 years agoAdd support to Xend XML-RPC server for HTTP/1.1 Keep-Alive.
anthony@rhesis.austin.ibm.com [Tue, 20 Jun 2006 09:25:18 +0000 (10:25 +0100)]
Add support to Xend XML-RPC server for HTTP/1.1 Keep-Alive.

This patch fixes a few bugs in the Python SimpleXMLRPC server and enables
HTTP/1.1 by default.  This allows a client to use Keep-Alive.  Keep-Alive
improves performance by eliminating the overhead of connection setup and,
more importantly, avoids credential caching when executing multiple
commands over a secure connection.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
19 years ago[IA64] dummy print_stack() func for NO_TRANSLATION path
awilliam@xenbuild.aw [Mon, 19 Jun 2006 20:55:13 +0000 (14:55 -0600)]
[IA64] dummy print_stack() func for NO_TRANSLATION path

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
19 years ago[IA64] fix ptc.ga virtualization
awilliam@xenbuild.aw [Mon, 19 Jun 2006 19:45:42 +0000 (13:45 -0600)]
[IA64] fix ptc.ga virtualization

fix ptc.ga virtualization. Uninitialized vcpu doesn't need tlb flush.
ptc_ga_remote_func() calls vmx_vcpu_ptc_l() in IPI context.
I.e. vcpu may not equal to current. On the other hand vmx_vcpu_ptc_l()
assumes vcpu = current. remove the assumption.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] display vmx fault messges
awilliam@xenbuild.aw [Mon, 19 Jun 2006 19:42:34 +0000 (13:42 -0600)]
[IA64] display vmx fault messges

This patch modifies the vmx fault handler to display a message when a
fault occurs in hypervisor.

This includes the followings:

- Break 0 handler is modified to check psr.vm bit instead of cpl.
- External interrupt handler is modified to get current using
MINSTATE_GET_CURRENT instead of r21.  r21 has been used in DO_SAVE_MIN
which is called from other fault handlers.  I'm not sure why the
original vmx fault handler gets the current from r21.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
Signed-off-by: Tetsu Yamamoto <yamamoto.tetsu@jp.fujitsu.com>
19 years ago[IA64] fix is_kernel_text in xenctx and show more registers
awilliam@xenbuild.aw [Mon, 19 Jun 2006 19:35:49 +0000 (13:35 -0600)]
[IA64] fix is_kernel_text in xenctx and show more registers

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
19 years ago[IA64] enable xenctx on ia64
awilliam@xenbuild.aw [Mon, 19 Jun 2006 19:26:45 +0000 (13:26 -0600)]
[IA64] enable xenctx on ia64

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[IA64] add comments on smp
awilliam@xenbuild.aw [Mon, 19 Jun 2006 19:15:31 +0000 (13:15 -0600)]
[IA64] add comments on smp

add notes on smp to mm.c

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] remove unnecessary vtlb_lock
awilliam@xenbuild.aw [Mon, 19 Jun 2006 19:13:01 +0000 (13:13 -0600)]
[IA64] remove unnecessary vtlb_lock

remove vtlb_lock.
As Tristan pointed out, vtlb_lock is unnecesary.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] add get_page() to prevent from freeing page
awilliam@xenbuild.aw [Mon, 19 Jun 2006 19:06:53 +0000 (13:06 -0600)]
[IA64] add get_page() to prevent from freeing page

get_page() when access a page of domain.
pages can be removed from domain and freed by another cpu.
To prevent accessing freeing page, use get_page() and put_page()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] fix races caused by p2m entry update
awilliam@xenbuild.aw [Mon, 19 Jun 2006 19:00:37 +0000 (13:00 -0600)]
[IA64] fix races caused by p2m entry update

fixed some races in ia64_do_page_fault(), vcpu_itc_i(), vcpu_itc_d() and vcpu_fc().
introduce struct p2m_entry and check it later and try it again.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] add INVALID_MFN check to dom0vp_zap_physmap()
awilliam@xenbuild.aw [Mon, 19 Jun 2006 18:54:34 +0000 (12:54 -0600)]
[IA64] add INVALID_MFN check to dom0vp_zap_physmap()

guest_physmap_remove_page() should check mfn.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] add volatile to p2m table pte entry
awilliam@xenbuild.aw [Mon, 19 Jun 2006 18:52:38 +0000 (12:52 -0600)]
[IA64] add volatile to p2m table pte entry

add volatile pte entry of the p2m table.
Since p2m table are shared by cpu. volatile is needed.
fix the races in pte access of __assign_domain_page() and
destroy_grant_host_mapping()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[IA64] add volatile to mpt_table
awilliam@xenbuild.aw [Mon, 19 Jun 2006 18:13:11 +0000 (12:13 -0600)]
[IA64] add volatile to mpt_table

mpt_table is accessed concurrently by cpus, so it needs volatile qualifier

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years ago[XM-TEST] Improve detection of a guest having booted to prompt.
kaf24@firebug.cl.cam.ac.uk [Mon, 19 Jun 2006 16:43:04 +0000 (17:43 +0100)]
[XM-TEST] Improve detection of a guest having booted to prompt.

Lots of xm-test tests are failing with console timeouts on some machines
at the moment.  I reproduced the problem and found it was due to some
probing activity in the boot process of the -xen kernel.  The behaviour
of the current xm-test code is to assume that the boot process has
finished after performing three one-second waits for input---when the
probing activity introduces more than three one-second delays the test
suite breaks.

This patch changes the test suite to wait for the command prompt
before attempting to submit a command.  The timeout is increased from 3
seconds to 3 minutes but the wait exits early when the prompt is found
so the test suite doesn't take any longer to run.

Signed-off-by: Harry Butterworth <butterwo@uk.ibm.com>
19 years ago[XEN][PAE] Always enable non-debug version of l3tab_needs_shadow()
kfraser@dhcp93.uk.xensource.com [Mon, 19 Jun 2006 16:26:54 +0000 (17:26 +0100)]
[XEN][PAE] Always enable non-debug version of l3tab_needs_shadow()
as there is some suspicion that it leads to crashes on PAE hosts.
Also: improve bracketing in the macros, for safety.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[HVM][VMX][PAE] Enable PAE VMX guest on PAE host.
kaf24@firebug.cl.cam.ac.uk [Mon, 19 Jun 2006 15:47:21 +0000 (16:47 +0100)]
[HVM][VMX][PAE] Enable PAE VMX guest on PAE host.
The PAE VMX guest supports NX bit and can do kernel build successfully.

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
19 years agoAdd DOM0_DOMAIN_SETUP hypercall.
kaf24@firebug.cl.cam.ac.uk [Mon, 19 Jun 2006 15:39:27 +0000 (16:39 +0100)]
Add DOM0_DOMAIN_SETUP hypercall.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
[I fiddled with the flags prefix after all. :-)
Signed-off-by: Keir Fraser <keir@xensource.com>]
19 years ago[XEN][PAE] Stores to PTEs in PAE mode use CMPXCHG to ensure atomicity.
kfraser@dhcp93.uk.xensource.com [Mon, 19 Jun 2006 13:44:34 +0000 (14:44 +0100)]
[XEN][PAE] Stores to PTEs in PAE mode use CMPXCHG to ensure atomicity.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN][PAE] Handle non-page-aligned CR3 when walking
kfraser@dhcp93.uk.xensource.com [Mon, 19 Jun 2006 13:03:04 +0000 (14:03 +0100)]
[XEN][PAE] Handle non-page-aligned CR3 when walking
page tables.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] New function dump_execution_state() displays
kfraser@dhcp93.uk.xensource.com [Mon, 19 Jun 2006 12:06:10 +0000 (13:06 +0100)]
[XEN] New function dump_execution_state() displays
current register and stack state of local CPU.
Use this to extend the 'd' debug key to be more useful.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Rename show_registers() to show_execution_state().
kfraser@dhcp93.uk.xensource.com [Mon, 19 Jun 2006 10:44:25 +0000 (11:44 +0100)]
[XEN] Rename show_registers() to show_execution_state().
This makes more sense since it dumps stack as well as
registers. show_registers() still exists; it simply doesn't
dump the stack any more.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Improve double-fault tracing -- print backtrace
kfraser@dhcp93.uk.xensource.com [Mon, 19 Jun 2006 10:21:40 +0000 (11:21 +0100)]
[XEN] Improve double-fault tracing -- print backtrace
on stack overflow.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Fix non-debug builds.
kfraser@dhcp93.uk.xensource.com [Mon, 19 Jun 2006 10:10:10 +0000 (11:10 +0100)]
[XEN] Fix non-debug builds.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Fix ptwr_do_page_fault() after new more permissive
kfraser@dhcp93.uk.xensource.com [Mon, 19 Jun 2006 09:18:39 +0000 (10:18 +0100)]
[XEN] Fix ptwr_do_page_fault() after new more permissive
entry conditions to that function. Now that we no longer
check PGERR_page_present (i.e., that fault is a protection
fault), because it's not safe to do so, we can enter
ptwr_do_page_fault() with a not-present L2 page directory.
We then crash on our first access to the linear_l2_table.
This patch fixes all unprotected accesses to the
linear_l2_table to correctly handle faults.

Also move setup of globally-visible ptwr info record to end
of ptwr_do_page_fault(). We don't want the info picked up
by reentrant invocations of the page-fault handler.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Remove code from writable-pagetable emulation path which
kaf24@firebug.cl.cam.ac.uk [Sun, 18 Jun 2006 18:49:31 +0000 (19:49 +0100)]
[XEN] Remove code from writable-pagetable emulation path which
does not appear to be necessary. Replace with assertions for now,
pending total removal or me being proved wrong.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Multi-processor guests need to be more conservative when
kaf24@firebug.cl.cam.ac.uk [Sun, 18 Jun 2006 18:44:13 +0000 (19:44 +0100)]
[XEN] Multi-processor guests need to be more conservative when
doing batched writable-pagetable work.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Fix page-fault handler to not trust bit 0 of error code.
kaf24@firebug.cl.cam.ac.uk [Sun, 18 Jun 2006 18:24:00 +0000 (19:24 +0100)]
[XEN] Fix page-fault handler to not trust bit 0 of error code.
It can be cleared due to writable-pagetable logic. Various
other cleanups too. Spurious fault detection logic is
simplified.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoSmall fixes to changesets 10424 and 10425 (spurious #PF detection).
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 11:57:03 +0000 (12:57 +0100)]
Small fixes to changesets 10424 and 10425 (spurious #PF detection).
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[SEDF] Fix SEDF defaults to make domain0 take only a fair
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 10:29:35 +0000 (11:29 +0100)]
[SEDF] Fix SEDF defaults to make domain0 take only a fair
equally-weighted share of extratime. Also, hack the short-
blocking logic as otherwise domain0 steals all CPU time
for several seconds after waking from a long sleep.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[HVM] Clean up formatting of new piix acpi file.
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 08:19:16 +0000 (09:19 +0100)]
[HVM] Clean up formatting of new piix acpi file.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[HVM] ACPI support patch 4 of 4: shutdown.
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 08:08:14 +0000 (09:08 +0100)]
[HVM] ACPI support patch 4 of 4: shutdown.
The patch is incorporated  from Ben's Virtual Iron's ACPI shutdown patch
in changeset 9989:f8d20c3e4225
The patch support guest ACPI Windows shutdown, as well as ACPI guest
Linux "halt -p" and "shutdown -h now".

Signed-off-by: Ben Thomas <ben@virtualiron.com>
Signed-off-by: Winston Wang <winston.l.wang@intel.com>
19 years ago[HVM] ACPI support patch 3 of 4: ACPI _PRT table.
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 08:06:46 +0000 (09:06 +0100)]
[HVM] ACPI support patch 3 of 4: ACPI _PRT table.
Adds ACPI _PRT table for PCI IRQ routing table in PIC mode
and fixes the _PRT table in APIC mode

Signed-off-by: Tang Liang <tangliang@lenovo.com>
Signed-off-by: Winston Wang <winston.l.wang@intel.com>
19 years ago[HVM] ACPI support patch 2 of 4: ACPI timer.
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 08:05:34 +0000 (09:05 +0100)]
[HVM] ACPI support patch 2 of 4: ACPI timer.
ACPI timer is required during guest windows installation and boot.

Signed-off-by: Tang Liang <tangliang@lenovo.com>
Signed-off-by: Winston Wang <winston.l.wang@intel.com>
19 years ago[HVM] ACPI support patch 1 of 4: main components.
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 08:00:16 +0000 (09:00 +0100)]
[HVM] ACPI support patch 1 of 4: main components.

The patch support ACPI UP Guest Windows 2000,  XP and 2003, based on
this we are going to add more support on SMP and 64bit Windows( which
are only working in ACPI mode) later. We tested: in ia32 guest:

  a. Installation and boot of  Windows XP sp2 and 2003 server in ACPI
mode
  b  when boot to both window, no yellow mark in device manger and  USB,
network card and IDE DMA are working.
  c. clean boot (without ACPI related errors) on UP and  4 vcpu rhel4u1
SMP guest and got ioapic Interrupt assigned according to ACPI DSDT
table's _PRT table's GSI.

To minimize the implementation efforts to satisfy the ACPI OS
installation and boot, we implemented  ACPI only event logical model by
emulating ACPI hardware based on PIIX4 (Intel 82371ab) by:  Populating
the PIIX4  ACPI bridge PCI configuration space; Adding ACPI timer
(required during windows installation/boot), PM1 event register block
and PM1 control register block (both are required during
installation/boot, shutdown, entering and leaving PM S state if adding
those features later), we provided full ACPI hardware registers above
using byte/word/dword access per ACPI spec requirement.

The patch also fixed many existing hvm ACPI related bugs, such as
warnings when boot to ACPI  UP and SMP guest Linux OS; adding new ACPI
_PRT table reporting PCI IRQ routing table in PIC mode,  adding new _PRT
table in APIC mode, that fixed no IRQ GSI cause it is forced to shutdown
when OS find new device to assign IRQ without ACPI event service; The
patch also fixed the ACPI DSDT table's  PCI resource conflict with guest
e820 table when booting and installing ACPI Windows; we also added ACPI
shutdown service by incorporating the code in ACPI "hardware enable
register writer" from  Ben's Virtual Iron's team's patch in changeset
9989:f8d20c3e4225.

We only provide minimum power management requirement support per spec-c1
and S5 for shutdown, may be S4 (hibernating which is meaningful for user
to save their working section)  in the future.

Please note, current patch needs to  have following switches in guest
configuration to enable proper ACPI support
  a. need to add ACPI=1 (apic=1 if boot SMP Linux guest plus vcpu=
number want to test) in xmexample.hvm
  b. need to add USB support: USB=1 and usbdevice='device' (or
='tablet') as the pm register base is static..., I will adding dynamic
ACPI FADT table for pm register base pointer later.

When installing guest OS in ACPI mode, need to manually tell Windows
setup program to install single core ACPI HAL:
   After passing the 1st screen of windows setup of install Windows,
   the first thing you'll see at the bottom of the screen is the
   option to press F6 if you need to install a SCSI or RAID
   controller. Don't press F6. Press F5 instead. This will take
   you to a separate menu of Hardware Abstraction Layer's where
   you can choose an appropriate HAL .The choices will be:

   ACPI Multiprocessor PC
   ACPI Uniprocessor PC
   Advanced Configuration and Power Interface (ACPI) PC
   ...
   Standard PC
   Standard PC with C-Step i486

Please select "Advanced Configuration and Power Interface (ACPI) PC"
using current patch.

Signed-off-by: Winston Wang <winston.l.wang@intel.com>
19 years ago[LINUX] Fix dependencies on CONFIG_PROC_FS.
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 07:56:02 +0000 (08:56 +0100)]
[LINUX] Fix dependencies on CONFIG_PROC_FS.
Signed-off-by: Horms <horms@verge.net.au>
19 years ago[LINUX] Kernel should not send out IPv6 autoconfig multicast
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 07:42:31 +0000 (08:42 +0100)]
[LINUX] Kernel should not send out IPv6 autoconfig multicast
packets if the interface is not marked as multicast-capable.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
19 years ago[TOOLS] Clean up the network setup scripts. Create some
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 07:40:50 +0000 (08:40 +0100)]
[TOOLS] Clean up the network setup scripts. Create some
setup functions and use them everywhere.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
19 years ago[ACM] Complete the conversion of acm_ops using Xen handles instead
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 07:38:35 +0000 (08:38 +0100)]
[ACM] Complete the conversion of acm_ops using Xen handles instead
of void pointers. It also fixes a recently slipped in acm bug that hangs
Xen when a domain is destroyed.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years ago[TOOLS][HVM] Enhance the HVM config file to show prototypes for the USB options.
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 07:34:54 +0000 (08:34 +0100)]
[TOOLS][HVM] Enhance the HVM config file to show prototypes for the USB options.
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
19 years ago[XEN] Use correct xen_pfn_t type in implementation of XENMEM_exchange.
kaf24@firebug.cl.cam.ac.uk [Sat, 17 Jun 2006 07:31:53 +0000 (08:31 +0100)]
[XEN] Use correct xen_pfn_t type in implementation of XENMEM_exchange.
Avoids compile errors on ppc.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
19 years agoRemove old blktap tools.
akw@localhost.localdomain [Sat, 17 Jun 2006 01:45:45 +0000 (18:45 -0700)]
Remove old blktap tools.

Signed-off-by: Andrew Warfield <andrew.warfield@cl.cam.ac.uk>
19 years ago[LINUX] Add spurious page-fault detection, intended primarily
kfraser@dhcp93.uk.xensource.com [Fri, 16 Jun 2006 17:19:40 +0000 (18:19 +0100)]
[LINUX] Add spurious page-fault detection, intended primarily
for spurious write faults on mappings that have been
changed from read-only to writable. If a CPU has a stale
read-only entry in its TLB, it is allowed to fault on
the next write access without re-walking the page table.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] Make the spurious page-fault detection logic
kfraser@dhcp93.uk.xensource.com [Fri, 16 Jun 2006 17:18:55 +0000 (18:18 +0100)]
[XEN] Make the spurious page-fault detection logic
more robust. In particular it must be able to handle
spurious write faults on mappings that have been
changed from read-only to writable. If a CPU has a stale
read-only entry in its TLB, it is allowed to fault on
the next write access without re-walking the page table.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMerge with xen-ia64-unstable.hg.
kfraser@dhcp93.uk.xensource.com [Fri, 16 Jun 2006 17:08:27 +0000 (18:08 +0100)]
Merge with xen-ia64-unstable.hg.

19 years agomerge with xen-unstable.hg
awilliam@xenbuild.aw [Fri, 16 Jun 2006 16:18:54 +0000 (10:18 -0600)]
merge with xen-unstable.hg

19 years agomerge with xen-unstable.hg
awilliam@xenbuild.aw [Fri, 16 Jun 2006 15:10:08 +0000 (09:10 -0600)]
merge with xen-unstable.hg

19 years ago[IA64] cleanup
awilliam@xenbuild.aw [Fri, 16 Jun 2006 15:06:40 +0000 (09:06 -0600)]
[IA64] cleanup

Disable a privify path.
Cleanup: warnings and static.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years ago[XEN] Fix 10362 change to create_grant_va_mapping().
kfraser@dhcp93.uk.xensource.com [Fri, 16 Jun 2006 14:34:21 +0000 (15:34 +0100)]
[XEN] Fix 10362 change to create_grant_va_mapping().
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] PTE updates do not need to use CMPXCHG instruction.
kfraser@dhcp93.uk.xensource.com [Fri, 16 Jun 2006 14:22:03 +0000 (15:22 +0100)]
[XEN] PTE updates do not need to use CMPXCHG instruction.
This is because the updates are already protected by a
per-domain lock. Using straightforward memory writes has
two advantages:
 1. Faster
 2. More correct (previously we could race accessed/dirty
    bit updates by other CPUs).
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[LINUX] Use new XENMEM_exchange hypercall (where possible)
kfraser@dhcp93.uk.xensource.com [Fri, 16 Jun 2006 13:45:01 +0000 (14:45 +0100)]
[LINUX] Use new XENMEM_exchange hypercall (where possible)
to provide watertight implementations that should never crash
in ENOMEM situations.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[XEN] New memory_op XENMEM_exchange. Allows atomic
kfraser@dhcp93.uk.xensource.com [Fri, 16 Jun 2006 13:43:54 +0000 (14:43 +0100)]
[XEN] New memory_op XENMEM_exchange. Allows atomic
exchange of one memory reservation for another of the
same size, but with different properties.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago[LINUX] Export new gnttab_cancel_free_callback() to modules.
kaf24@firebug.cl.cam.ac.uk [Fri, 16 Jun 2006 09:52:49 +0000 (10:52 +0100)]
[LINUX] Export new gnttab_cancel_free_callback() to modules.
Signed-off-by: Charles Arnold <carnold@novell.com>
19 years agomerge with xen-unstable.hg
awilliam@xenbuild.aw [Thu, 15 Jun 2006 16:23:57 +0000 (10:23 -0600)]
merge with xen-unstable.hg